home *** CD-ROM | disk | FTP | other *** search
/ Atari Mega Archive 1 / Atari Mega Archive - Volume 1.iso / lists / gem / l_1199 / 1173 < prev    next >
Encoding:
Internet Message Format  |  1994-08-27  |  6.4 KB

  1. Date: Fri, 29 Jul 1994 14:54:28 -0400 (EDT)
  2. From: Timothy Miller <millert@cs.csee.usf.edu>
  3. Subject: Re: app_defs.sys
  4. To: gem-list@world.std.com
  5. In-Reply-To: <memo.813008@cix.compulink.co.uk>
  6. Message-Id: <Pine.3.87.9407291428.E20268-0100000@grad>
  7. Mime-Version: 1.0
  8. Precedence: bulk
  9.  
  10. Warwick:
  11.  
  12. ]In GEM++, I use a linked list, and go to the trouble of maintaining the
  13. ]list to be in the same order as the windows.  I'm still not sure how
  14. ]useful this is, since I could call wind_find(), then search an
  15. ]unordered list.  Comments?
  16.  
  17. I also keep a linked list, but I do not go to the trouble of keeping them 
  18. in any order.  They end up in the linked list in the opposite order you 
  19. created them in... from newest to oldest.
  20.  
  21. ]
  22. ]I also never hold onto a window handle if the window is not open.
  23. ]This means keeping my own copies of the window sizes, but again,
  24. ]that hasn't been a problem.  Good for older TOSes.  Comments?  (Hey,
  25. ]maybe everyone does these things - I've not looked at the details of
  26. ]many libraries).
  27.  
  28. And when you close a window, you have to remove it from the linked list 
  29. yourself (by calling a function), so you COULD leave it there and go back 
  30. to it to reopen it later.
  31.  
  32.  
  33. Warwick:
  34.  
  35. ]>I am one of many people who have complained about Atari Works wiping out
  36. ]>their documents when their little finger slips and hits Ctrl and A at the
  37. ]>same time.
  38. ]
  39. ]Now, if only you could change the shortcut...
  40. ]
  41. ]By using a fixed standard, you cannot please all of the people all of the
  42. ]time.  By using an flexible standard, you can please everyone except those
  43. ]who think that Their Way Is Best.
  44.  
  45. Ok... look at it this way.  Ctrl-A is dangerous, but some people want 
  46. it.  Fine.  How about we change the STANDARD to something NOT dangerous, 
  47. then those who are hell-bent on using Ctrl-A instead of something safe 
  48. can change the app-defs file, hmmm?
  49.  
  50.  
  51. Everyone:
  52.  
  53. Funny thing... My falcon is still under warrantee.  My Falcon is not 
  54. working properly.  My local dealer can't repair it.  It's going to cost 
  55. me anywhere from $10 to $40 and take at least a month to get my Falcon 
  56. repaired UNDER WARRANTEE.  Atari corp. sucks.
  57.  
  58. Warwick:
  59.  
  60. ]Repeatedly using 0-length timers is misusing the AES, as it turns the
  61. ]application into the center of the world with AES being used as a key-getter
  62. ]and mouse-getter, rather than the event driven model used by the AES,
  63. ]and ALL other windowing systems.
  64.  
  65. How about for terminal programs?  This is one I've struggled with 
  66. myself.  Most terminal programs CRAWL under MultiTOS for two reasons:  
  67. 0-lenght timers slow everything down, and GEM doesn't get back to the 
  68. program fast enough when catching characters from the modem so typing 
  69. comes out unbearably jumpy.
  70.  
  71. I figured that things would work a bit better (and cooperate with the 
  72. rest of the system) if I used a longer timer.  Things speed up a bit, but 
  73. typing us just as jumpy (when your host is the one who is echoing).
  74. Any suggestions?
  75.  
  76.  
  77.  
  78. Everyone again:
  79.  
  80. I don't want app_defs.sys turning into another win.ini.  When you install 
  81. a Windoze program, it adds all this CRAP to your system files like 
  82. win.ini, etc., and then when you want to remove the app, you still have 
  83. this crap in your win.ini file.
  84.  
  85.  
  86. Ofir:
  87.  
  88. ]millert@cs.csee.usf.edu said:
  89. ]>
  90. ]>But there is a problem with form_button and objects marked as
  91. ]>selectable.  As you know, when a selectable button is clicked,
  92. ]>form_button does not return until the button is let up.  What I want to
  93. ]>know is how is the use of form_button when a button is PRESSED (not
  94. ]>simply clicked) preventing further WM_TOPPED messages from being sent to
  95. ]>my application for that window, and how do I solve this problem?
  96. ]
  97. ]Try setting the object TOUCHEXIT AND NOT SELECTABLE. Either that or I have
  98. ]totally misunderstood you :-)
  99.  
  100. Your suggestion would be unacceptable, but that's because you didn't 
  101. understand me, probably because i wasn't very clear....
  102.  
  103. But never mind.  I figured it all out.
  104.  
  105.  
  106.  
  107.  
  108. My library can now do dragging of active and passive sliders in 
  109. background windows, as well as buttons.  It also handles all of these 
  110. things using the rectangles list so they come out properly if partially 
  111. obscured.
  112.  
  113. I had to write my own form_button routine using only what information I 
  114. could get from the Compendium and the Lattice C manual, as well as a load 
  115. of guess-work.  As far as I can tell, it does not appear to work any 
  116. differently from the normal one in the OS, except that it works right in 
  117. background windows.
  118.  
  119. I also discovered that certain object types (G_STRING, G_IBOX, G_IMAGE, 
  120. and a few others) do not draw properly if you don't first draw their 
  121. parent objects... that took a few hours to figure out an ellegant 
  122. solution to.
  123.  
  124. It turns out that form_button (as well as graf_dragbox, incidentally) 
  125. must call evnt_multi internally.  Since evnt_multi will not return if the 
  126. mouse button is being held down and the last message sent was a WM_TOPPED 
  127. message, I had to stop using form_button.
  128.  
  129. So, I killed three birds with one stone.  I wrote a routine that draws 
  130. objects using the rectangle list, avoided the evnt_multi problem, and am 
  131. not able to do dragging and the sort in background windows.
  132.  
  133. And all this under normal TOS.  I feel special now.  :)
  134.  
  135.  
  136.  
  137. Also, my library doesn't directly support MODAL dialogs.  If you want to 
  138. make something modal, you have to set the disabled flags of any other 
  139. dialog you don't want topped.  Additionally, you would have to disable 
  140. the menubar yourself... I could add a little routine to disable all menu 
  141. titles if necessary.
  142.  
  143. How is a menu structured?  It seems kinda odd the way the objects are 
  144. arranged in it... boxes, iboxes, etc.  What's a sure way to just go 
  145. through JUST the titles one at a time?  How do I get the first title?  
  146. Require the programmer to pass the object number of the desk title?  That 
  147. would make it easiest.
  148.  
  149.  
  150. Kevin:
  151.  
  152. ]  > would have no problem with it.  But to assign something as dangerous as
  153. ]  > "Select-All" to it is pure lunacy!
  154. ]  >
  155. ]Why should select all be a dangerous function? Surely all it does is select
  156. ]everything. If the program in question then lets you perform a 
  157. ]non-recoverable operation on every object then the program is flawed.
  158.  
  159. Even if you can recover from it, it's still damn annoying to have you 
  160. document even temporarily destroyed because you accidentally selected it 
  161. all.  And even if you don't destroy it to begin with, I don't want my 
  162. whole document selected unless I want it to be.  Ctrl-A is too easy to hit.
  163.  
  164.  
  165. You have an Atari book that needs to be published?  Two Worlds Publishing 
  166. can do it for you.  :)
  167.  
  168.  
  169.  
  170.  
  171.